Systems and methods for controlling a vehicle camera

ABSTRACT

Camera control systems and methods for providing a dynamic view of the environment outside of a vehicle are presented. One or more cameras are configured to capture at least one view of the environment outside of the vehicle. Control circuitry detects at least one of the speed of the vehicle and the pitch angle of the vehicle (e.g., by using a speedometer and inclinometer). The control circuitry selects a view angle based on the at least one of the speed of the vehicle and the pitch angle of the vehicle. The control circuitry then displays, based on an output of the at least one camera, a view of the environment outside of the vehicle from the selected view angle on a display of the vehicle.

CROSS REFERENCE TO RELATED APPLICATION

This disclosure claims the benefit of U.S. Provisional Application No.62/760,727, filed Nov. 13, 2018, which is hereby incorporated byreference herein in its entirety.

SUMMARY

A single camera of a vehicle can typically provide a view from only asingle angle (e.g., a backup camera may provide only a single viewangle). In one approach, a user may be allowed to manually select one ofseveral views available from a camera (e.g., from a camera that hasseveral selectable positions). However, when the user is engaged indriving a vehicle (e.g., driving the vehicle in off-road conditions),the user is typically unable to manually shift the camera view to fitthe changing driving conditions. In addition, a single view from acamera may not provide the needed driving information. Consequently,what is needed is a camera control system that automatically adjusts theview to suit the dynamic situation.

In accordance with the present disclosure, systems and methods areprovided that improve the operation of a camera system of a vehicle. Avehicle may include one or more physical cameras providing a view of anenvironment outside of the vehicle. In some embodiments, some (or all)of the cameras may provide a single, fixed view. In some embodiments,some (or all) of the cameras may be adjustable to provide one of severalselectable views.

The vehicle may include a sensor or sensors for measuring the speed ofthe vehicle. For example, the vehicle may include a speedometer, a GPSsensor, any other speed sensor, or any combination thereof. The vehiclemay include a sensor or sensors for measuring the pitch of the vehicle.For example, the vehicle may include an inclinometer, a tiltmeter, anyother pitch sensor, or any combination thereof. The car system may useone or both of the speed and pitch measurements to select a view angleof the outside environment on one or more displays of the vehicle.

In some embodiments, the speed, the pitch, or a combination of the twomay be used to select one of the available physical cameras and/or toadjust the selectable view of the physical camera. For example, theangle and/or the horizontal position of the physical camera (e.g.,position of the camera in relation to the length dimension of thevehicle) may be selected based on the speed, the pitch, or a combinationof the two.

In some embodiments, one or more of the cameras may be used to generatea single virtual view from a virtual camera. In such embodiments, thesystem may select a view angle of the virtual camera based on the speed,the pitch, or a combination of the two. Additionally, the system mayselect a horizontal view position of the virtual camera based on thespeed, the pitch, or a combination of the two. The system may thengenerate for display a virtual representation of the outside environmentthat is configured to be the same or similar to a view that would begenerated by a physical camera if it were placed in the position of thevirtual camera. The virtual representation may be displayed on one ormore of the displays of the vehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure, in accordance with one or more variousembodiments, is described in detail with reference to the followingfigures. The drawings are provided for purposes of illustration only andmerely depict typical or example embodiments. These drawings areprovided to facilitate an understanding of the concepts disclosed hereinand should not be considered limiting of the breadth, scope, orapplicability of these concepts. It should be noted that for clarity andease of illustration, these drawings are not necessarily made to scale.

FIG. 1A shows a side view of a vehicle, in accordance with someembodiments of the present disclosure;

FIG. 1B shows another side view of a vehicle, in accordance with someembodiments of the present disclosure;

FIG. 1C shows yet another side view of a vehicle, in accordance withsome embodiments of the present disclosure;

FIG. 2 shows an illustration of a display of a vehicle, in accordancewith some embodiments of the present disclosure;

FIG. 3 shows a block diagram of components of a camera system, inaccordance with some embodiments of the present disclosure; and

FIG. 4 shows a flowchart for a method of operating a camera system of avehicle, in accordance with some embodiments of the present disclosure.

DETAILED DESCRIPTION

The present disclosure is directed to methods and systems for operatinga camera system of a vehicle. For example, the methods described hereinmay be implemented using camera system 100 of vehicle 104 depicted inFIG. 1A.

In some embodiments, camera system 100 may include at least one cameraconfigured to capture at least one view of the environment outside ofvehicle 104 and a display for displaying views of the environmentoutside vehicle 104 based on an output of the at least one camera. Forexample, the at least one camera may be mounted on the frame of vehicle104 and/or inside of vehicle 104. In some embodiments, camera system 100also includes control circuitry configured to control what is displayedon the screen (e.g., as depicted in more detail in FIG. 3).

In some embodiments, the control circuitry may be communicativelyconnected to a speed sensor that provides the current speed of vehicle104. In some embodiments, the control circuitry may be communicativelyconnected to one or more orientation sensors that provide dataindicative of the orientation of vehicle 104 in 3D space. For example,orientation sensors may provide data indicative of a pitch angle ofvehicle 104, yaw angle of vehicle 104, and roll angle of vehicle 104.

In some embodiments, the control circuitry may use the output of thespeed and orientation sensors to detect at least one of the speed ofvehicle 104 and pitch angle of vehicle 104. For example, the controlcircuitry may detect that the vehicle is moving at 4 MPH and has a pitchangle of 10°.

In some embodiments, the control circuitry may select a view angle basedon at least one of the speed of vehicle 104 and the pitch angle ofvehicle 104. In some embodiments, the control circuitry may select theview angle based solely on the pitch angle of vehicle 104. For example,the control circuitry may select a view angle that is negativelycorrelated to the pitch angle of vehicle 104 (e.g., as the positivepitch angle of the vehicle increases, the negative view angledecreases). In some embodiments, the view angle (A) may be computedbased on pitch angle (P) according to the formula:

${A = {\left( \frac{C\; 1}{P} \right) - {C\; 2}}},$where C1 and C2 are predetermined constants (e.g. where C2 is a positivenumber). In another example, another formula may be used: A=P−C22 (e.g.where C22 is a positive number). In yet another example, the controlcircuitry may select a pitch angle based on the table presented below(or a similar table).

TABLE 1 Vehicle Pitch View Angle 10° −30° 20° −35° 30° −45° 40° −50° 45°−55°

In some embodiments, the control circuitry may select the view anglebased on the speed of vehicle 104. For example, the control circuitrymay select a view angle that is positively correlated to the speed ofvehicle 104. In some embodiments, the view angle (A) may be computedbased on vehicle speed (S) according to the formula: A=(S*C3)+C4, whereC3 and C4 are predetermined constants (e.g., where C4 is a positivenumber). In another example, the control circuitry may select a pitchangle based on the table presented below (or a similar table).

TABLE 2 Vehicle Speed View Angle 2 MPH −50° 4 MPH −40° 6 MPH −30° 8 MPH−20° 10 MPH −10°

In some embodiments, the control circuitry may select the view anglebased on both the speed of vehicle 104 and the pitch angle of vehicle104. For example, the control circuitry may calculate the view anglesuch that is negatively correlated to the pitch angle of vehicle 104 andpositively correlated to the speed of vehicle 104. In some embodiments,the view angle (A) may be computed based on vehicle speed (S) and pitchangle (P) according to the formula

${A = {{C\; 5*\left( \frac{S}{P} \right)} + {C\; 6}}},$where C5 and C6 are predetermined constants. In another example, thecontrol circuitry may select a pitch angle based on the table presentedbelow (or a similar table) which shows precomputed pitch angles for allor some pitch and speed values of vehicle 104.

TABLE 3 10° 20° 30° 40° 2 MPH −19° −19.5° −19.7° −20°   4 MPH −18°−19°   −19.3° −19.5° 6 MPH −17° −18.5° −19°   −19.2° 8 MPH −16° −18°  −18.6° −19°  

In some embodiments, the control circuitry may also select a horizontalview position relative vehicle 104 based on at least one of the speed ofvehicle 104 and pitch angle of vehicle 104. For example, the controlcircuitry may select a horizontal view position that is in front of abumper of vehicle 104 when the car has a steep positive pitch angle(e.g., pitch angle over 30°) or a steep negative pitch angle (e.g.,pitch angle under −30°). In another example, the control circuitry mayselect a horizontal view position that is behind the front of vehicle104 when the car has a shallow pitch angle (e.g., pitch angle between−30° and 30°). In some embodiments, the control circuitry may select thehorizontal view position proportional to the pitch of vehicle 104. Insome embodiments, the control circuitry may select the horizontal viewposition proportional to the speed of vehicle 104. In some embodiments,circuitry may select the horizontal view position based on both thespeed of vehicle 104 and pitch of vehicle 104. In some embodiments, thecontrol circuitry may select the horizontal view position such that thatis in front of the bumper of vehicle 104 when the pitch of vehicle 104is negative (e.g., when vehicle 104 is driving downhill), and such thatthat is behind the bumper of vehicle 104 when the pitch of vehicle 104is positive (e.g., when vehicle 104 is driving uphill).

In some embodiments, after the view angle is selected (and optionallywhen the horizontal view position is selected), the control circuitrymay generate for display a view of the environment outside of vehicle104 from the selected view angle. In some embodiments, the view may begenerated on any display of vehicle 104. For example, the view may begenerated on a screen located behind the steering wheel or on theinstrument panel. In some embodiments, the view may be generated onfront windshield 106 of vehicle 104 (e.g., as a heads-up display).

In some embodiments, the view angle and the horizontal view position areselected to provide a best possible view to a driver who is navigatingvehicle 104 over off-road terrain. For example, when vehicle 104 ismoving slowly uphill, a view from a large negative angle can provide thedriver with information about the terrain the wheels are about to driveover. When the pitch of vehicle 104 decreases (or when speed increases),a smaller negative view angle would allow the driver to see more of theterrain ahead of vehicle 104.

In some embodiments, the control circuitry may generate the view fordisplay based on output of the at least one camera. In some embodiments,the at least one camera is a multi-angle camera that has variable pitchangles. In this case, the control circuitry may modify the physicalposition and/or orientation of the at least one camera based on at leastone of the speed of vehicle 104 and pitch angle of vehicle 104. Forexample, the control circuitry may modify the physical position and/ororientation of the at least one camera to have a pitch angle thatmatches the selected view angle. In some embodiments, the controlcircuitry may modify the physical position and/or orientation of the atleast one camera to have a pitch angle that is as close as possible tothe selected view angle. The control circuitry may then display theoutput of that camera on a display of vehicle 104.

In some embodiments, one of the cameras of vehicle 104 may be awide-angle camera. In this case, the control circuitry may modify thewide-angle output (e.g., by cropping and distortion techniques) toproduce a view from the selected view angle. In some embodiments,vehicle 104 may have several cameras located at multiple positions andangles. In this case, the control circuitry may generate a virtual viewfrom the selected view angle by combining outputs of the multiplecameras. The generated virtual view may then be displayed on the screen.

In some embodiments, the control circuitry may generate a view from avirtual camera. The term virtual camera may refer to any kind of cameraobject that is generated as software representation of a real camerathat does not exist as a physical camera. For example, a virtual cameramay be a software module that emulates operation of a real camera. Insome embodiments, the virtual camera software module may emulate anoutput of a camera as if it were placed in a certain location. Forexample, the virtual camera software module may emulate an output of areal camera by combining output of real cameras and/or extrapolating theview based on the outputs of several real cameras. In some embodiments,the control circuitry may generate a virtual camera that emulates anoutput of a real physical camera, as if that real camera were placed ina position corresponding to the selected horizontal view position andoriented at a pitch corresponding to the selected view angle. Then, thecontrol circuitry may use the virtual camera to generate a virtual view(e.g., by using outputs of multiple cameras) that is equivalent orsimilar to a view that would be produced if a real camera were placed inthe position of the virtual camera. The generated virtual view may bedisplayed on a display of vehicle 104.

In some embodiments, the control circuitry may also display a predictedpath of front wheels of the vehicle overlaid over the view of theenvironment outside of the vehicle from the selected view angle.

FIG. 1A shows a side view of vehicle 104 which operates camera system100, in accordance with some embodiments of the present disclosure. Insome embodiments, vehicle 104 may be a coupe, a sedan, a truck, a bus,or any other type of vehicle. In some embodiments, the vehicle mayinclude at least one camera configured to capture at least one view ofthe environment outside of the vehicle. For example, vehicle 104 mayinclude at least one camera mounted under the front bumper, on top ofthe front bumper, on the roof, near the headlights, in any other part ofthe vehicle, or in any combination of the above.

As shown in FIG. 1A, vehicle 104 is traveling over a level surface 102(e.g., a surface sloped at 0°). Accordingly, the pitch of vehicle 104may be determined to be 0°. In some embodiments, the control circuitryof vehicle 104 may select a viewing angle based on the determined pitchangle. For example, the pitch angle may be selected based on Table 1 orbased on any of the formulas disclosed above. For example, the controlcircuitry may select a relatively small negative view angle (e.g., −20°)based on the pitch angle of the car being 0°.

In some embodiments, the control circuitry may also select a horizontalview position based on the pitch of vehicle 104. For example, thehorizontal view position may be selected proportional to the pitch angleof vehicle 104 or to absolute value of the pitch angle. In this example,as the absolute value of the pitch angle increases, the selectedhorizontal view position moves further forward in the direction definedby the lengths of vehicle 104. In some embodiments, the view angle andthe horizontal view position may additionally or alternatively be basedon the speed of vehicle 104. For example, the control circuitry mayselect the horizontal view position to be behind the front of vehicle104 (e.g., 2 feet behind the front of vehicle 104) based on the pitchangle being shallow. In some embodiments, the control circuitry mayselect the horizontal view position to be in front of the bumper ofvehicle 104 (e.g., 2 feet in front of the front of vehicle 104) if thepitch angle is steep.

Once the pitch angle and horizontal view position are computed, thecontrol circuitry may place virtual camera 108 at the calculatedhorizontal view position (e.g., 2 feet behind the front of vehicle 104)at the calculated angle (e.g., at −20° angle). In some embodiments, thecontrol circuitry may then generate for display a view of theenvironment outside of the vehicle from the selected view angle and theselected horizontal view position. In some embodiments, the controlcircuitry may adjust one of the adjustable physical cameras of vehicle104 to match the calculated horizontal view position and the calculatedangle, and then generate for display view 110 as produced by thatcamera. In some embodiments, the control circuitry may generate view 110(e.g., by using outputs of multiple cameras of the vehicle) that wouldbe generated if a real camera were placed in the location of virtualcamera 108 shown in FIG. 1A. For example, the control circuitry may useany graphics modeling and extrapolation software to generate view 110based on the signals provided by multiple physical cameras that captureother views of the outside environment. In some embodiments, view 110may be generated for display on any display of vehicle 104 (e.g., on thefront windshield heads-up display 106).

FIG. 1B shows a side view of vehicle 134 that operates camera system130, in accordance with some embodiments of the present disclosure. Insome embodiments, vehicle 134 may be the same as vehicle 104 shown inFIG. 1A.

As shown in FIG. 1B, vehicle 134 is traveling over an inclined surface132 (e.g., a 10° surface). In some embodiments, the control circuitry ofthe vehicle selects a larger negative view angle (e.g., −45°) based onthe pitch angle of the car being 10°. Thus, the control circuitry mayplace a virtual camera (as shown in FIG. 1B) at a −45° angle. In someembodiments, the control circuitry may also select a horizontal viewposition as one foot back from the front of vehicle 134. In someembodiments, the control circuitry may then generate for display view140 of the environment outside of vehicle 134 from the selected viewangle and the selected horizontal view position. For example, thecontrol circuitry may generate view 140 (using cameras of the vehicle)that would be generated if a real camera were placed in the location ofvirtual camera 138. In some embodiments, view 140 may be generated fordisplay on any display of vehicle 134 (e.g., on the front windshieldheads-up display 136).

FIG. 1C shows a side view of vehicle 164 which operates camera system160, in accordance with some embodiments of the present disclosure. Insome embodiments, vehicle 164 may be the same as vehicles 104 and 134shown in FIGS. 1A and 1B.

As shown in FIG. 1C, vehicle 164 is traveling over inclined surface 162(e.g., a 30° surface). In some embodiments, the control circuitry of thevehicle selects an even larger negative view angle (e.g., −70°) based onthe pitch angle of the car being 30°. For example, the control circuitrymay place virtual camera 168 at −70° angle. In some embodiments, thecontrol circuitry may also select a horizontal view position as beingright over the front bumper of the vehicle. In some embodiments, thecontrol circuitry may then generate for display view 170 of theenvironment outside of vehicle 164 from the selected view angle and theselected horizontal view position. For example, the control circuitrymay generate view 170 (using cameras of the vehicle) that would begenerated if a real camera were placed in the location of virtual camera168.

In some embodiments, the control circuitry may select the view angle andthe horizontal view position for the vehicle depicted in FIGS. 1A, 1B,and 1C in a manner describe above. For example, the control circuitrymay select the view angle that is negatively correlated to the pitchangle of the vehicle and positively correlated to the speed of thevehicle. In some embodiments, view 170 may be generated for display onany display of vehicle 164 (e.g., on the front windshield heads-updisplay 166).

FIG. 2 shows an exemplary illustration 200 of display 202 of a vehicle(e.g., one of vehicles 104, 134, 164 of FIGS. 1A-1C), in accordance withsome embodiments of the present disclosure. In particular, FIG. 2 showsa view generated by the control circuitry on a heads-up display of avehicle (e.g., one of displays 106, 136, 166). In some embodiments, thecontrol circuitry generates for display a view of the environmentoutside of the vehicle (e.g., the rocky surface shown in FIG. 2) fromthe selected view angle and from the selected horizontal view positionwhich were calculated according to techniques described above and below.For example, the view of the rocky surface may be a view generated by avirtual camera (e.g., one of virtual cameras 108, 138, 168) that isplaced at the selected horizontal view position at the selected viewangle. In some embodiments, the view generated for display on display202 by the virtual camera may be the same or similar to a view thatwould be generated by a physical camera if it were physically positionedat the selected horizontal view position at the selected view angle.

In some embodiments, the control circuitry may also generate for displaypredicted paths of the front wheels of the vehicle 204, 206 overlaidover the view of the environment outside of the vehicle from theselected view angle. For example, the control circuitry may generate fordisplay two arrows 204, 206 as seen in FIG. 2, where left arrow 204indicates a turn angle of the left front wheel and its predicted pathover the environment outside of the vehicle, and where right arrow 206indicates a turn angle of the right front wheel and its predicted pathover the environment outside of the vehicle. This technique may beutilized, for example, when the driver of the vehicle is trying tonavigate around and over rocks and boulders off-road. This may eliminatethe need for a spotter outside the vehicle to provide instructions tothe driver.

In some embodiments, the control circuitry may also generate for displayon display 202 additional vehicle information 210 (e.g., speed, range,and current gear the vehicle is in). The control circuitry may alsogenerate for display on display 202 additional information 208 (e.g.,time and current weather information).

In some embodiments, the control circuitry may also generate for displayon display 202 a representation of the vehicle. In some embodiments, therepresentation may include a number next to each wheel, where the numberis indicative of torque being applied to the respective wheel. In someembodiments, the control circuitry may also generate for display ondisplay 202 another representation of the vehicle. In some embodiments,the representation may be turned in a way that is indicative oforientation of the vehicle in 3D space. For example, the representationof the vehicle may have pitch, roll, and yaw angles that match thepitch, roll, and yaw angles of the vehicle. In some embodiments, therepresentation may include numbers indicative of pitch and roll angles.

While the foregoing discussion of FIGS. 1-2 describes some embodimentsfor selecting a view angle and a horizontal view position, in someembodiments, only a view angle is selected, while the horizontal viewposition remains constant. In some embodiments, any suitable techniquemay be used to generate a view of the environment outside of the vehiclefrom the selected view angle. For example, the view of the environmentfrom the selected view angle may be generated by adjusting orientationof a single camera of vehicle 104. In another example, the view of theenvironment from the selected view angle may be generated by croppingand/or transforming a view of a single camera (e.g., a wide-lenscamera). In yet another example, the view of the environment from theselected view angle may be generated by selecting an output of one ofmultiple cameras. In yet a further example, the view of the environmentfrom the selected view angle may be generated by combining the outputsof multiple cameras. In some embodiments, any combination of thesetechniques or other techniques may also be used to generate the view ofthe environment from the selected view angle.

FIG. 3 shows a block diagram of components of camera system 300 of avehicle (e.g., of vehicles 104, 134, 164 depicted in FIGS. 1A, 1B, and1C), in accordance with some embodiments of the present disclosure. Insome embodiments, camera system 300 may include processor 306. Theprocessor may comprise a hardware CPU for executing commands stored inmemory 304 or software modules, or combination thereof In someembodiments, processor 306 and memory 304 in combination may be referredto as control circuitry of system 300. In some embodiments, processor306 alone may be referred to as control circuitry of system 300.

In some embodiments, camera system 300 may include memory 304. In someembodiments, memory 304 may include hardware elements for non-transitorystorage of commands or instructions, that, when executed by processor306, cause processor 306 to operate the camera system 300 in accordancewith embodiments described above and below.

In some embodiments, processor 306 may be communicatively connected tosensors (e.g., a speed sensor 310 and an orientation sensor 312). Speedsensor 310 may be one of a speedometer, a GPS sensor, any other speedsensor, or any combination thereof. Orientation sensor 312 may be aninclinometer, a tiltmeter, any other pitch sensor, or any combinationthereof. Speed sensor 310 may provide the vehicle's speed to processor306. Orientation sensor 312 may provide vehicle orientation values(e.g., vehicle's pitch and/or vehicles' roll) to processor 306. In someembodiments, the sensors may be included as part of other vehiclecomponents (e.g., a self-driving system) and processor 306 may becommunicatively connected to these other vehicle components to obtainthe sensor readings.

In some embodiments, processor 306 may be communicatively connected(e.g., via a camera interface) to several cameras 1-N (e.g., cameras314-320). In some embodiments, each of the cameras 314-320 may captureat least one view of the environment outside of the vehicle and providean output indicative of the view to processor 306. In some embodiments,processor 306 may control position of the cameras 314-320 via the camerainterface 308. For example, the camera interface may provide electricalpower to a motor or motors to change angles of one or more of thecameras 314-320.

In some embodiments, camera interface 308 may provide visual datagenerated by cameras 314-320 to processor 306. Processor 306 may usespeed data from speed sensor 310 and orientation data from orientationsensor 312 to calculate a desired view angle and/or desired horizontalview position (e.g., as described above or below). If one of cameras314-320 can provide a view from that desired view angle and/or from thehorizontal view position, processor 306 uses camera interface 308 torequest a view from that camera. In some embodiments, if that camera isadjustable, camera interface 308 may adjust that camera to match thedesired view angle and/or desired horizontal view position. Thenprocessor 306 may output the data of that camera on display 302 (e.g.,display 202 of FIG. 2).

In some embodiments, the processor may use cameras 314-320 to generate aview from a virtual camera that is placed at the desired view angleand/or desired horizontal view position by combining and extrapolatingthe desired view based on one or more views provided by one or more ofcameras 314-320. Then processor 306 may generated for display a viewproduced virtual camera on display 302 (e.g., display 202 of FIG. 2).

FIG. 4 is an illustrative flowchart of a process 400 for controlling acamera system (e.g., system 300 of FIG. 3), in accordance with someembodiments of the disclosure. Process 400 may be executed by controlcircuitry (e.g., by processor 306 of FIG. 3).

At 402, the control circuitry may monitor driving conditions of avehicle (e.g., vehicle 104 of FIG. 1). For example, the controlcircuitry may receive data from vehicles sensors (e.g., sensors 310 and312 of FIG. 3). In some embodiments, step 402 is performed periodically(e.g., every 5 or 10 seconds). For example, at step 404, the controlcircuitry, may acquire the vehicle's speed from a speedometer or anotherspeed sensor. Additionally, at step 406, the control circuitry mayacquire the vehicle's pitch from an inclinometer or another orientationsensor.

At 408, the control circuitry may check whether either the speed or thepitch (or both) has changed from the previous periodic measurement atstep 402. For example, if either the speed or pitch has changed by morethan 5%, the control circuitry proceeds to steps 410 and 412. Otherwise,the control circuitry proceeds to step 414. At step 414, the controlcircuitry may maintain the view angle and horizontal view position thatwere previously computed at steps 410 and 412.

At 410, the control circuitry may compute a new viewing angle. In someembodiments, the new view angle may be computed based on one or both ofvehicle speed computed at step 404 and vehicle pitch computed at step406. For example, the control circuitry may compute the new view angleusing any of the formulas described above or by using any one of Tables1-3. In some embodiments, the new view angle may be positivelycorrelated to speed and negatively correlated to the view angle.

At 412, the control circuitry may compute a new horizontal viewposition. In some embodiments, the new horizontal view position may becomputed based on one or both of vehicle speed computed at step 404 orvehicle pitch computed at step 406. For example, the control circuitrymay compute the new horizontal view position using one of the techniquesdescribed above. In some embodiments, the new horizontal view positionmay be based on whether the vehicle pitch is shallow or steep. Forexample, the control circuitry may select the new horizontal viewposition to be behind the front of the vehicle when the pitch is shallow(e.g., under 30°) and select the new horizontal view position to be infront of the vehicle when the pitch is steep (e.g., over 30°. In someembodiments, the offset for the new horizontal view position (e.g.,offset in the direction of the motion of the vehicle) may beproportional to pitch of the vehicle.

At 416, the control circuitry may generate a view of the environmentoutside of the vehicle from the selected angle and selected horizontalview position. In some embodiments, the control circuitry may,optionally, adjust one or more of the cameras at step 418 to acquirethis view. In some embodiments, the control circuitry may use data fromseveral cameras to create a virtual camera that can provide anextrapolated view from the selected angle and the selected horizontalview position that is identical or similar to a view that would be agenerated by a physical camera if it were placed at the selected angleand at the selected view horizontal view position.

At step 420, the control circuitry may display the generated view (e.g.,at display 302 of FIG. 3). In some embodiments, process 400 may thenreturn to step 402. For example, the cycle may be repeated at anyinterval (e.g., every one or two seconds) to continuously update theview depending on the changing state of the vehicle (e.g., as it drivesover rocky terrain as depicted in FIG. 2). In some embodiments, thefrequency of the cycle may be set proportionally to the speed of thevehicle.

It will be understood that system 300 of FIG. 3 and process 400 of FIG.4 are merely illustrative and that various modifications and additionscan be made within the scope of the disclosure. In some embodiments,multiple camera systems 300 may be implemented in a vehicle or multipleviews can be generated from a single camera system 300. For example, afirst system can be used for generating a front view and a second systemcan be used for generating a rear view. A rear view is useful when avehicle is traveling backwards. For example, off-roading on difficultterrain (e.g., rock crawling) can involve repeatedly maneuvering avehicle forwards and reverse in order to precisely orient the vehicle totraverse the terrain. In some embodiments, the rear view replaces thefront view when a vehicle is either in reverse or is travelingbackwards. In some embodiments, the rear view is displayed on adifferent portion of the display or on a different display. It will alsobe understood that any number of views (e.g., front, left, right, andrear) can be generated in accordance with this disclosure.

The foregoing is merely illustrative of the principles of thisdisclosure, and various modifications may be made by those skilled inthe art without departing from the scope of this disclosure. Theabove-described embodiments are presented for purposes of illustrationand not of limitation. The present disclosure also can take many formsother than those explicitly described herein. Accordingly, it isemphasized that this disclosure is not limited to the explicitlydisclosed methods, systems, and apparatuses, but is intended to includevariations to and modifications thereof, which are within the spirit ofthe following claims.

What is claimed is:
 1. A camera system of a vehicle, the systemcomprising: at least one camera configured to capture at least one viewof environment outside of the vehicle; a display; and a controlcircuitry configured to: detect at least one of speed of the vehicle andpitch angle of the vehicle; select a first view angle to provide a viewof the environment that is negatively correlated to a pitch angle of thevehicle and positively correlated to a speed of the vehicle such thatthe view is automatically adjusted, based on changing drivingconditions, between: (a) terrain under wheels of the vehicle and (b)terrain ahead of the vehicle, wherein the first view angle is selectedto provide a view of terrain under wheels of the vehicle when thevehicle is travelling uphill at a first speed; display, based on anoutput of the at least one camera, on a display of the vehicle, the viewof the environment outside of the vehicle from the selected first viewangle; in response to the vehicle travelling at a second speed that ishigher than the first speed while the vehicle is travelling uphill,select a second view angle to provide a view of terrain ahead of thevehicle; and display, based on the output of the at least one camera, onthe display of the vehicle, the view of the environment outside of thevehicle from the selected second view angle.
 2. The camera system ofclaim 1, wherein the control circuitry is further configured to modifythe physical position of the at least one camera based on at least oneof the speed of the vehicle and the pitch angle of the vehicle.
 3. Thecamera system of claim 1, wherein the control circuitry is furtherconfigured to: modify the output of the at least one camera to generatethe view of the environment outside of the vehicle from the selectedfirst view angle; and display the modified output of the at least onecamera.
 4. The camera system of claim 3, wherein, when modifying theoutput of the at least one camera, the control circuitry is configuredto generate a virtual view from a virtual camera, using outputs ofmultiple cameras, wherein the angle of the virtual camera is theselected first view angle.
 5. The camera system of claim 1, wherein thecontrol circuitry is further configured to: select a horizontal viewposition relative to the vehicle based on the at least one of the speedof the vehicle and the pitch angle of the vehicle; and display, based onthe output of the at least one camera, on a display of the vehicle, aview of the environment outside of the vehicle from the selectedhorizontal view position.
 6. The camera system of claim 5, wherein thecontrol circuitry is further configured to: generate a virtual view froma virtual camera, using outputs of multiple cameras, wherein theposition of the virtual camera is the selected horizontal view position;and display the generated virtual view.
 7. The camera system of claim 1,wherein the control circuitry is further configured to: display apredicted path of front wheels of the vehicle overlaid over the view ofthe environment outside of the vehicle from the selected first viewangle.
 8. A method for operating cameras of a vehicle, the methodcomprising: capturing, using at least one camera, at least one view ofenvironment outside of the vehicle; detecting, using control circuitry,at least one of speed of the vehicle and pitch angle of the vehicle;selecting, using the control circuitry, a first view angle to provide aview of the environment that is negatively correlated to a pitch angleof the vehicle and positively correlated to a speed of the vehicle suchthat the view is automatically adjusted, based on changing drivingconditions, between: (a) terrain under wheels of the vehicle and (b)terrain ahead of the vehicle, wherein the first view angle is selectedto provide a view of terrain under wheels of the vehicle when thevehicle is travelling uphill at a first speed; displaying, based onoutput of the at least one camera, on a display of the vehicle, the viewof the environment outside of the vehicle from the selected first viewangle; in response to the vehicle travelling at a second speed that ishigher than the first speed while the vehicle is travelling uphill,selecting a second view angle to provide a view of terrain ahead of thevehicle; and displaying, based on the output of the at least one camera,on the display of the vehicle, the view of the environment outside ofthe vehicle from the selected second view angle.
 9. The method of claim8, wherein the method further comprises modifying the physical positionof the at least one camera based on at least one of the speed of thevehicle and the pitch angle of the vehicle.
 10. The method of claim 8,wherein the method further comprises: modifying the output of the atleast one camera to generate the view of the environment outside of thevehicle from the selected first view angle; and displaying the modifiedoutput of the at least one camera.
 11. The method of claim 10, whereinmodifying the output of the at least one camera comprises generating avirtual view from a virtual camera, using outputs of multiple cameras,wherein the angle of the virtual camera is the selected first viewangle.
 12. The method of claim 8, wherein the method further comprises:selecting a horizontal view position relative to the vehicle based onthe at least one of the speed of the vehicle and the pitch angle of thevehicle; and displaying, based on output of the at least one camera, ona display of the vehicle, a view of the environment outside of thevehicle from the selected horizontal view position.
 13. The method ofclaim 12, wherein the method further comprises: generating a virtualview from a virtual camera, using outputs of multiple cameras, whereinthe position of the virtual camera is the selected horizontal viewposition; and displaying the generated virtual view.
 14. The method ofclaim 8, wherein the method further comprises displaying a predictedpath of front wheels of the vehicle overlaid over the view of theenvironment outside of the vehicle from the selected first view angle.15. A camera system of a vehicle, the system comprising: at least onecamera configured to capture at least one view of environment outside ofthe vehicle; a display; and a control circuitry configured to: detect atleast one of speed of the vehicle and pitch angle of the vehicle; selecta view angle to provide a view of the environment that is negativelycorrelated to a pitch angle of the vehicle and positively correlated toa speed of the vehicle such that the view is automatically adjusted,based on changing driving conditions, between: (a) terrain under wheelsof the vehicle and (b) terrain ahead of the vehicle, wherein the controlcircuitry is configured to select the view angle by: inputting (a) thepitch angle of the vehicle and (b) the speed of the vehicle into a datastructure, wherein the data structure is configured to output apre-computed view angle associated with the inputted pitch angle of thevehicle and the speed of the vehicle; and display, based on an output ofthe at least one camera, on a display of the vehicle, the view of theenvironment outside of the vehicle from the selected view angle.
 16. Themethod of claim 8, wherein selecting the view angle comprises: inputting(a) the pitch angle of the vehicle and (b) the speed of the vehicle intoa data structure, wherein the data structure is configured to output apre-computed view angle associated with the inputted pitch angle of thevehicle and the speed of the vehicle.